home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 4
/
CU Amiga Magazine's Super CD-ROM 04 (1996)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1996-11].iso
/
magazine
/
psion
/
utils
/
shell25.lzx
/
SHELL25.DOK
< prev
Wrap
Text File
|
2015-05-31
|
22KB
|
476 lines
SHELL v2.5 ... die Shell fr den Psion Serie 3a .. von Marko Schuster 1994
NEWS: siehe am Ende des Files!
0. Copyright
Diese Version von Shell ist nicht Public Domain, sondern FD.
Das Copyright bleibt weiterhin bei mir. Das Prg. darf jedoch
frei kopiert werden. Nein, es MUSS sogar frei kopiert werden,
es darf nicht verkauft werden.
Der Source lieg brigens dem Programm _nicht_ bei,
Hinweise, Tips, Tricks, Prozeduren, Wnsche ... bitte an mich.
1. Wozu eine Shell ?
Der (eigentlich ja 'die'... egal) Psion Serie 3a (ab sofort als PS3a abgekrzt)
hat zwar umfangreiches Dateimanagement in der Oberflche eingebaut, aber
es gibt doch noch ein paar richtige Computerfreaks, die es bevorzugen,
ihre Dateien 'von Hand' zu kopieren. Zu so einem gehr ich auch. Auáerdem
ist SHELL leicht erweiterbar, bzw. mittlerweile sehr vielseitig schon
erweitert.
2. Was kann die Shell?
* alle von Tischcomputern her bekannte gngigen Shell-Befehle
* PICs anzeigen, mit/ohne grey-planes, ver. Bitmaps etc.
* Batch-Dateien ausfhren
* OPO/OPAs laden und Prozeduren starten
* Befehl-Puffer
* WVE-Datein abspielen
* verschiedene Fonts benutzen
3. Wie arbeite ich mit der SHELL?
Ganz einfach: Die Befehle eingeben. Dies geschieht mittels des
OPL-Befehls "EDIT". Das heiát, daá am Ende der Eingabezeile keine
neue Zeile angefangen wird, sondern die Zeile durchscrollt. Editieren
des Textes ganz normal mit den Cursor-Tasten usw. und ein RETURN (ENTER)
fhrt den Befehl aus, whrend ein ESC die Zeile lscht.
Drckt man nun, whrend die Zeile leer ist, nocheinmal ESC, kann man dadurch
die letzten 9 Eingaben durchblttern (Befehl-Puffer). So ist es also
ganz einfach mglich, im nachhinein Tippfehler auszubessern, oder zu
verndern. Wenn man ganz durch ist, wird wieder von vorne (bzw. von hinten..)
angefangen.
Diesen Puffer kann man sich auch auf einmal anzeigen lassen mit dem
Befehl "+". Es wird dann per Dialog-Box alle verfgbaren, max. 9, Buffer-
Zeilen angezeigt und es kann die ausgewhlt werden, die neu editiert werden
soll. Sie erscheint dann beim nchsten Prompt in der nchsten Eingabezeile.
Der Befehl "+" wird dabei nicht in den Puffer bernommen.
Ausgabeumleitung: Ab v2.5 kann eine Ausgabeumleitung in ein File
gemacht werden. Dabei muá als 2. Wort, also direkt nach dem Befehl
ein >file stehen. file ist dabei der filename, bei NIL: oder NUL: wird die
Ausgabe unterdrckt. Beispiel: dir >dir.txt M:\OPL\ wrde die Filenamen des
Verzeichnisses M:\OPL\ in die datei dir.txt schreiben.
4. Hinweise
Das Prg. "EXPWIN2.OPA" muss in M:\APP\ vorhanden sein. Es ist eine kleine
Prozedur (eigentlich zwei) fr sog. 'exploding windows'.
Falls eine Batch-Datei 'M:\autoexec.bat' besteht, wird diese ausgefhrt,
sie kann z.B. wie in dem Beispiel in diesem Archiv, den PROMPT-Befehl
enthalten, FONTs umschalten etc. Ferner ist im Archiv ein Prg. ED_BAT.ALS,
das ein Alias-File der Word-Applikation ist, und reine ASCII-Datein im
Verzeichnis \BAT mit der Endung .bat erstellen/ndern lát (autoexec.bat
kann man editieren, wenn man TAB drckt und das File im Hauptverzeichnis
anwhlt!)
Wenn der Befehl nicht vorhanden ist, wird nach .OPO, .OPA und .BAT in
den einschlaegigen Verzeichnissen gesucht. OPOs und OPAs werden dabei
nur NACHGELADEN (LOADM), nicht gestartet. Achtung: Wenn das aktuelle
Verzeichnis auf REM:: liegt, wird in REM::A:, REM::B: und REM::M: gesucht..
Bei den eingebauten Befehlen, die einen Parameter bentigem kann man diese
ganz einfach anzeigen lassen, indem man einfach den Befehl ohne jegliche
Parameter eingibt. (Auf 'normalen' DOS/SHELLs máte man da ja -? oder /?
angeben.) Beispiel: COPY zeigt COPY <source> <dest>
5. Die Befehle (Kommandos)
Wie in Anleitungen blich: <parameter> bedeutet: der Parameter _muá_
angegeben werden, whrend [<parameter>] freiwillig ist.
Beim Befehlsnamen mssen zumindest die groágeschriebenen Buchstaben
eingegeben werden. Beispiel: RemDir bedeutet, daá man entweder REMDIR
oder RD eingeben kann. Selbstverstndlich ist die GrOá/kLeInScHrEiBuNg
egal.. kann also auch rd oder rEmdIr oder sonstwie eingegeben werden.
Ebenfalls vernachlssigt werden SPACES vor dem Befehl, nach dem Befehl
und zwischen den Parametern (Zwischen den Parametern MUSS mind. 1 Space
sein, wenn mehrere dabei sind, werden sie ignoriert. Ebenfalls darf ein
Parameter KEINE Spaces enthalten. Das hat z.Z. leider noch den Nachteil,
daá bei Filenamen mit Leerzeichen das Leerzeichen durch ? ersetzt
werden muá... wobei wir auch gleich bei den Jokern wren: ? ersetzt
ein beliebiges Zeichen, ein * ersetzt beliebig viele. Die Ausgabe
kann man - wie in OPL-Programmen blich - mit CTRL (STRG) - S anhalten.
+
Siehe oben .. listet den Zeilenpuffer, also die zuletzt eingegebenen
Befehle/Zeilen. Die gewnschte Aussuchen und ENTER, oder ESC zum
Abbruch.
*
Lát die Shell in den Background verschieben, so daá man sich
den Druck auf die System-taste spart..
?
listet alle verfgbaren Befehle auf.
#
Entspricht dem Befehl DIAL, nheres siehe dort.
;<comment>
Diese Zeile zhlt als Bemerkung und wird nicht bearbeitet.
Ntzlich fr Batch-Dateien. Entspricht praktisch dem OPL-Befehl REM...
Beispiel: ;diese zeile wird nicht interpretiert
<proc>: [<parameter>]
Startet die Prozedur <proc>. Es kann EIN parameter (STRING)
bergeben werden.
Beispiel: TEST: entspricht dem OPL-Befehl TEST:
TEST: ab entspricht dem OPL-Befehl TEST:("ab")
ALIAS [<alias_in> [<alias_out>] ]
Befehl-aliasse.. alias_in ist dabei das alias und alias_out
der befehl, der ausgefhrt werden soll.
ALIAS ohne parameter listet alle Aliasse auf
ALIAS <alias_in> zeigt den Befehl von <alias_in>
ALIAS mit beiden parameter setzt bzw. berschreibt einen Alias.
Der Alias-Befehl selbst kann 10 Zeichen lang sein, der Befehl
dafr max. 128. Es knnen max. 20 Aliasse definiert werden.
Ein @ im alias_out sorgt dafuer, dass die parameter von alias_in
miteingefuegt werden.. ist dumm zu beschreiben, also Beispiele:
ALIAS c copy @ - setzt den Befehl "c" als "copy @".
Man kann nun anstatt copy <filenames> einfach c <filenames>
eingeben .. also beispielsweise: c test.opl test.bak
wuerde dann umgewandelt werden in copy test.opl test.bak und so
ausgefhrt. ALIAS C wuerde ausgeben "copy @".
Unix'er knnten z.B. ALIAS ls dir @ machen, ALIAS ll ldir @,
ALIAS more type @ etc. (siehe auch UNIX.BAT)
Ein guter Platz fr ALIAS ist natrlich die M:\AUTOEXEC.BAT ...
[CD] <path>
wechseln des aktuellen Pfades. Achtung: Jedes Directory
muá mit einem \ enden! Mit CD \OPL z.B. wrde man nicht
in das OPL-Verzeichnis wechseln!! Es _MUSS_ also CD \OPL\
heiáen! Beim Wechseln der Laufwerke bei CD A: z.B. wird
jedoch auch automatisch das Verzeichnis beibehalten,
sofern es existiert. ein \ am Anfang bedeutet immer das
Root-Directory. Das letzte Verzeichnis (Parent) kann _nicht_
wie beim PC mittels .. angedeutet werden. (noch nicht :-) )
Dafr kann man "CD" weglassen, sofern der angegebene Pfad nicht
mit einem anderen Befehl oder einem File identisch ist.
CD kann weggelassen werden, wenn der Pfad mit \ oder :: endet.
Wenn der Pfad nur mit : endet, muá CD mit angegeben werden, weil
sonst ja nach einer Prozedur gesucht wird..
Beispiel: aktueller Pfad= M:\OPL\
cd a:
neuer Pfad= A:\OPL\
oder eben weggelassen: \APP\
ChangeTaskPri <prozess-id> <prioritt>
ndert die Prioritt vom Task mit der angegebenen prozess-id.
Achtung: Der S3a ndert die Prioritten seiner Tasks teilw.
selbststndig. So bekommen OPOs/OPAs wenn sie im Vorder- bzw.
Hintergrund kommen immer eine bestimmte Prioritt zugewiesen.
Desweiteren ist mir noch kein Systemaufruf bekannt, mit dem
ich die Prioritten der Tasks anzeigen lassen knnte ..
CLS lscht den Bidlschirm
COPY <source> <dest>
kopiert das File SOURCE als File DEST. Es wird nicht angezeigt,
welche Files letztendlich kopiert wurden (bei Verwendung von Jokern).
Beispiel: aktueller Pfad= M:\AGN\
copy agenda.agn agenda.bak (sicherheitskopie)
copy agenda.agn a: (kopiert die Datei nach
A:\AGN\Agenda.agn)
DATE Gibt Datum und Zeit im Format WWW TT MMM JJJJ SS:MM:SS aus.
Beispiel: Sam 15 Mai 1993 22:20:54 (so spt ist's jetzt..)
Gleichbedeutend mit dem Befehl TIME...
Dir [<path>]
zeigt die Directory des aktuellen Pfades oder des <path> an.
Die Anzeige erfolgt in x Spalten. Um die Anzeige anzuhalten,
muá CTRL-S gedrckt werden. Als <path> kann natrlich auch eine
Datei stehen, z.B. DIR a*.* wrde alle Eintrge auflisten,
die mit a anfangen. Am Ende werden die Filelngen noch zusammen-
gezhlt und angezeigt.
Das mit den Spalten ist z.Z. noch sehr unbefriedigend, da nicht
font-sensitiv. Bei folgenden Fonts jedoch passt der Aufbau:
1, 4, 5, 10, 11, 13, 8225 (8225 sind die kleinen Groábuchstaben, die
in der Tabellenkalkulation benutzt werden (bei kleinstem ZOOM) ..)
Bei anderen Fonts stimmen leider die Zeilenlngen nicht (bei einer
der nchsten Versionen wird dies behoben sein..), aber wer benutzt
auch schon so riesige Fonts :-) )
.. um auch Unterverzeichnisse anzuzeigen .. siehe Befehl SDir
.. um Datum, Zeit und Attribute anzuzeigen .. siehe Befehl LDir
DELete <file>
lscht das File file. Ganze Directory lschen geht mit DELete *.*
! Achtung ! Es erfolgt keine Sicherheitsabfrage! Und auch keine
Anzeige, welche Files denn nun alles gelscht wurden.
DIAL <number>
Whlt die eingebene Nummer, die keine Leerzeichen enthalten darf,
mittels der im Psion eingebauten Mehrfrequenzton-erzeugung.
Der Befehl kann auch mit dem Zeichen # abgekrzt werden, welches
man bei einer Zeileneingabe auch durch Drcken der HILFE-Taste
erreichen kann!
Beispiel: DIAL 3942*39AB#
# 2093
ECHO [<text>]
Gibt den Text <text> aus, wenn kein Text eingegeben wurde, wird
eine Leerzeile ausgegeben. Ntzlich fr Batch-Dateien.
EVAL <term>
berechnet den mathematischen Term term. Ausgabe erfolgt dezimal.
Beispiel: EVAL 2*&F .. ergibt: 30
EXecute <batch>
die Batch-Datei batch ausfhren. Wenn die Datei im \BAT\ -
oder aktuellem Verzeichnis steht, kann man sich EX sparen.
Beispiel: ex \test.bat .. startet die Batch-Datei \test.
ed .. startet die Batch-Datei ed.bat, sofern sie
in \BAT\ oder aktuellem Verzeichnis steht.
eXit
Beendet die Shell und ist gleichbedeutend mit Quit
Font <font-id> [<style>]
Wechselt den Font. Die verfgbaren Standard-fonts und deren
IDs werden aufgelistet, wenn man einfach Font eingibt.
Style ist dabei der Style des Fonts. Bei Proportionalfonts
sollte man also als Style 16 = unproportional angeben.
Beispiel: f 5 16 - nimmt einen kleinen 8er font, so daá man
80 Zeichen pro Zeile hat.
f 13 16 - das gleiche, nur mit der Hhe 6.
OPL-Standard ist brigens 4 (Mono8).
HELP
zeigt eine kleine Hilfe an ..
INFO [<dev>]
zeigt Informationen ber das aktuelle Device bzw. dev.
(bisher: Name, Gráe, freier Platz)
Beispiel: INFO ROM:: ... oder INFO M:
LDir [<path>]
entspricht dem DIR-Befehl, nur daá hier Erstellungszeit,
-datum und File-attribute angezeigt werden. Weiterhin erfolgt
die Anzeige mit 1 Eintrag pro Zeile, kann also bei jedem Font
benutzt werden..
Load <OPO/OPA-File>
ldt ein OPO oder OPA File in den Speicher. Wenn die Date im
\OPO\ bzw. \OPA\ bzw. aktuellem Verzeichnis steht, sollte man
auf Load verzichten knnen. Falls es aber doch mal nicht geht,
einfach ein L und ein Leerzeichen vor den Filenamen setzen..
Beispiel: L test.opo
Prozeduren knnen dann einfach gestartet werden, in dem man
den Prozedurnamen eingibt, gefolgt von einem :.
LoadFont <font-filename>
ldt einen Font nach und gibt die ID aus.
Beispiel: lf M:\fon\script.fon .. zeigt an -16377
f -16377 16 .. wechselt den Font
MakeDir <path>
Erstellt ein Verzeichnis
Beispiel: md \pic .. erstellt das Verzeichnis \PIC
MEM zeigt den freien Speicher
MOVE <source> <dest>
Entspricht den Befehlen COPY und DELETE hintereinander.
Wenn source und dest auf der selben Diskette ist, sollte man
stattdessen den Befehl REName verwenden.
Beispiel: move *.opo A:
PAUSE <delay>
Entspricht dem OPL-Befehl PAUSE, also durch angabe von 0
wird ein Tastendruck abgewartet.
Play <file> [<duration>]
Spielt eine WVE-Datei aus, die mit der Applikation RECORDER
aufgezeichnet wurde. Optional kann noch angeben werden, wie lang
gespielt werden soll. Mit einem Tastendruck kann das abspielen
auch abgebrochen werden.
Beispiel: p rom::sys$al01.wve
PROMPT <prompt>
ndert den Prompt.. Folgende Strings knnen zustzlich
eingesetzt werden:
%B = Backspace, lscht das letzte Zeichen
%D = Wochentag
%E = Name des Wochentags
%F = freier Speicherplatz (entspr. MEM)
%H = Stunde
%I = Minute
%K = Wartet auf einen Tastendruck
%M = Monat
%N = Neue Zeile
%O = Name des Monats
%P = aktueller Pfad
%S = Sekunde
%Txx= Style, MUSS zweistellig sein. 02=unterstreichen 04=invers
32=kursiv .. siehe auch im Programmierhandbuch (g)STYLE
%W = Woche
%Y = Jahr (4stellig)
%Z = Jahr (2stellig)
Beispiel: prompt [%e%b, %d.%m.%z / %h:%i:%s]%n%p >
.. ergibt folgenden prompt (z.B.):
[Fr, 01.10.93 / 13:45:26]
M:\OPL\ >
Quit
Beendet die Shell und ist gleichbedeutend mit eXit
RemDir <path>
Lscht ein (leeres) Verzeichnis
Beispiel: rd M:\opl\tests .. lscht M:\opl\tests
REName <old> <new>
Umbennenen eines Programms. Old=Alter Name, New=Neuer Name.
Der neue Name kann auch Pfade enthalten, sofern diese auf
der gleichen Diskette sind.
Beispiel: ren test.txt wichtig.txt
ren \opl\shell.opl \opl\anwend\shell.opl
Run <opo-file>
Starten eines OPO-Files. Die Shell wird dadurch NICHT
blokiert. Das OPO-File luft also parallel zur Shell.
SET [<var> [<value>]]
Gibt einer Variable den Wert value. Bisher kann man nur UNIX
auf ON bzw. OFF setzen. Unix heisst, daá in der Eingabe / durch \
ersetzt werden, um so UNIX bzw. Amiga-Pfade zu simulieren. Wenn
UNIX auf ON ist, kann man z.B. anstatt M:\OPL\ auch M:/OPL/
eingeben. Bei ECHO, PROMPT, ALIAS, EVAL findet keine Konvertierung
nicht statt. In einer der nchsten Versionen wird man auch mehrere
Variablen setzen knnen, die dann auch von Batchfiles aus
gelesen und genutzt werden knnen.
SDir [<path>]
Aktuelles Verzeichnis rekursiv auflisten, also mit den
Unterverzeichnissen und Unter-Unter-Verzeichnissen.
Die Namen der Verzeichnisse werden dabei jeweils kursiv angezeigt.
Am Schluá werden dann noch mal alle Bytes zusammengezhlt.
Beispiel: SD M:\
TASKS
Zeigt Tasks mit Prozess-Identittsnummer an.
TIME
Entspricht dem Befehl DATE und zeigt Datum und Zeit an.
Type <filename> [HEX]
Zeigt ein Text-File an. Wenn HEX angegeben, wird die
Datei in Hex & Ascii ausgegeben. In letzterem Fall wird
dabei darauf geachtet, wieviele Zeichen mit dem eingestellten
Font angezeigt werden knnen, so daá die Ausgabe bei jedem Font
korrekt erscheint.
Beispiel: type M:\autoexec.bat
t rom::agenda.app hex
UnLoad <OPO-File>
Ein zuvor mit Load geladenes Prg. kann damit wieder
aus dem Speicher entfernt werden.
UnloadFont <font-id>
Entfernt den Font mit angegebener ID aus dem Speicher.
Beispiel: uf -16377
View <filename> [<x> <y>] [<bitmap>] [Grey]
Zeigt ein Bild an. X und Y optionale Angabe der
Gráe des Bildes. Bei normalen Bildern wird die X und Y - Gráe
aus dem File geholt, dies funktioniert aber nur bei PIC-Files,
also Files, deren ersten drei Zeichen "PIC" sind. (Nachzusehen
mit TYPE .... HEX ) Es funktioniert also nicht bei APPs oder IMGs.
Bitmap=welche bitmap geladen werden soll.
Soll die darauffolgende Bitmap als Grey-Plane dazugeladen werden,
muá ganz hinten ein G oder GREY stehen.
Beispiel: view \pic\psion.pic
view \pic\psion.pic grey
view \pic\psion.pic 40 80
view rom::world.app 400 120 2
v rom::sys$shll.img 4
v rom::sys$wsrv.img 60 50 4 g
6. Was ich noch machen will..
Statt LDIR, SDIR und DIR einen neuen DIR Befehl mit Parameter, Format-
eingabe etc. (z.B. Dir [-l -r -fxxxxxxxx] ), ferner das ganze Font-sensitiv
Parameterbergabe bei Batch-Dateien wren nicht schlecht.
".." als 'vorheriges Verzeichnis' in pfaden einbauen
Statt immer COPY&DELete sollte der MOVE-Befehl RENAME verwenden, wenn
Quelle und Ziel auf dem gleichen Laufwerk ist.
bei RUN prfen, welches art von file es ist, und dann die entsprechende
Applikation starten (z.B. RUN xxx.wrd startet die Word-Applikation mit
dem File xxx.)
Tja, und was mir sonst noch so einfllt bzw. miáfllt .. :-)
7. How to contact me
Tja, da gbs diverse Mglichkeiten:
1. per EMAIL an ns103@fim.uni-erlangen.de
2. In meiner Mailbox unter dem Namen Sysop (Lonely Times 0911/3939034)
3. per Voice-Call 0911/3939031
4. per Sack-post, die adresse findet sich im englisch DOC-File.. (fies, wa?)
8. History .. geschichtlicher Rckblick
v2.5 * Neuer Befehl: TASKS - Zeigt Tasks und ihre PID (process-id)
* Neuer Befehl: ChangeTaskPri - ndert die Prioritt eines Tasks
* Type hat nicht funktioniert. Funktioniert wieder & schneller
* View&Play arbeiten jetzt auch mit Jokern
* bei delete, copy und move: Ausgabe der filenamen bei Joker-Bentzung
* Ausgabeumleitung >FILE bzw. NIL: / NUL: fuer keine Ausgabe
v2.44 * ALIAS-Befehl
* Ausfhren einer Batch-datei von einer Batch-datei funktioniert jetzt
* SET UNIX ON fr / -> \ - Konvertierung
* MEM zeigt den freien Speicherplatz
* INFO zeigt Infos ber Devices
* neu im Prompt: %F zeigt den freien Speicher
v2.43 * Neuer Dir-Befehl LDIR - zeigt Datum, Zeit und Attribute
* Statt des Zeileneditors gibts jetzt ein ed-bat.als - file..
v2.42 * OPO-Files auch starten mit RUN
* Erste Maánahmen fr Ausgabeumleitung geschaffen (ab v2.5!)
* Statistiken im Dir-Befehl (dirs, files, ..)
* kein CD-try bei 'unknown command'
v2.41 * PLAY hat nicht richtig funktioniert .. bug fixed
* CD wird nicht mehr bentigt.. einfach \pfad\ eingeben.. (bzw. dev::)
v2.40 * Angepasst an den 3a
* Font-Untersttzung (wirkt sich auch auf's TYPE-Commando aus)
* WVE-Files abspielen
* Der VIEW-Befehl wurde verbessert (gráe) und erweitert (grey..)
* Telefonnummern whlen
* Verbessertes Buffer-handling
* Befehl, um die Shell in den Background verschwinden zu lassen
* Neuer DIR-Befehl, um auch Sub-Directories anzeigen zu lassen
* Ebenfalls wird am DIR-Befehl die 'total-bytes' eines Dirs angezeigt
* Wenn es einen Befehl nicht gibt, wird ein CD versucht, der CD
Befehl kann nun also oft weggelassen werden
* Die verfgbaren Befehle werden jetzt mit ? angezeigt,
HELP zeigt nun eine kleine Hilfe..
* Im Prompt knnen nun auch Styles gewhlt werden (Invers, Kursiv,..)
* Eine kleine Doku in Englisch wurde erstellt..
* \APP\TOOLS.OPA wird nicht mehr bentigt, stattdessen
\APP\EXPWIN2.OPA ...
* Neuer Befehl PAUSE (brauchbar fr Batch-Dateien)